package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMMNU02{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_MNU0201(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("MENU_TYP,");
		sql.append("MENU_ID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("MENU_FUNC_NAME,");
		sql.append("AUTH_LEVEL,");
		sql.append("BSNS_TYP,");
		sql.append("SCREEN_ID,");
		sql.append("SCENE_ID,");
		sql.append("MASTER_ID,");
		sql.append("TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID,'') AS UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM MNU ");
		sql.append("WHERE ");
		sql.append("MENU_TYP LIKE "+getString("MENU_TYP")+" ");
		sql.append("AND BSNS_TYP LIKE "+getString("BSNS_TYP")+"");
		sql.append("AND MENU_ID LIKE "+getString("MENU_ID")+" ");
		sql.append("AND APL_EDT >"+((getString("SYSDATE").equals(""))?" is null ":"=")+getString("SYSDATE")+" ");
		sql.append("AND FM_TYP <> "+getString("FM_TYP1")+" ");
		sql.append("ORDER BY MENU_TYP,BSNS_TYP,SCREEN_ID,MENU_ID ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MNU0202(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("MENU_TYP,");
		sql.append("MENU_ID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("MENU_FUNC_NAME,");
		sql.append("AUTH_LEVEL,");
		sql.append("BSNS_TYP,");
		sql.append("SCREEN_ID,");
		sql.append("SCENE_ID,");
		sql.append("MASTER_ID,");
		sql.append("TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID,'') AS UPD_PGID,");
		sql.append("UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM MNU ");
		sql.append("WHERE ");
		sql.append("MENU_TYP LIKE "+getString("MENU_TYP")+" ");
		sql.append("AND BSNS_TYP LIKE "+getString("BSNS_TYP")+"");
		sql.append("AND MENU_ID LIKE "+getString("MENU_ID")+" ");
		sql.append("AND APL_EDT < "+getString("SYSDATE")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP1").equals(""))?" is null ":"=")+getString("FM_TYP1")+" ");
		sql.append("ORDER BY MENU_TYP,BSNS_TYP,SCREEN_ID,MENU_ID ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MNU0203(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("MENU_TYP,");
		sql.append("MENU_ID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("MENU_FUNC_NAME,");
		sql.append("AUTH_LEVEL,");
		sql.append("BSNS_TYP,");
		sql.append("SCREEN_ID,");
		sql.append("SCENE_ID,");
		sql.append("MASTER_ID,");
		sql.append("TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID,'') AS UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM MNU ");
		sql.append("WHERE ");
		sql.append("FM_TYP<>"+getString("FM_TYP")+" ");
		sql.append("ORDER BY SCREEN_ID,MENU_ID ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MNU0204(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("MENU_TYP,");
		sql.append("MENU_ID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("MENU_FUNC_NAME,");
		sql.append("AUTH_LEVEL,");
		sql.append("BSNS_TYP,");
		sql.append("SCREEN_ID,");
		sql.append("SCENE_ID,");
		sql.append("MASTER_ID,");
		sql.append("TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID,'') AS UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM MNU ");
		sql.append("WHERE ");
		sql.append("MENU_ID LIKE "+getString("MENU_ID")+" ");
		sql.append("AND APL_EDT >"+((getString("SYSDATE").equals(""))?" is null ":"=")+getString("SYSDATE")+" ");
		sql.append("AND FM_TYP <> "+getString("FM_TYP1")+" ");
		sql.append("ORDER BY SCREEN_ID,MENU_ID ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MNU0205(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("MENU_TYP,");
		sql.append("MENU_ID,");
		sql.append("APL_BDT,");
		sql.append("APL_EDT,");
		sql.append("MENU_FUNC_NAME,");
		sql.append("AUTH_LEVEL,");
		sql.append("BSNS_TYP,");
		sql.append("SCREEN_ID,");
		sql.append("SCENE_ID,");
		sql.append("MASTER_ID,");
		sql.append("TO_CHAR(NVL(RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID,'') AS RGS_PGID,");
		sql.append("TO_CHAR(NVL(UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID,'') AS UPD_PGID,");
		sql.append("FM_TYP ");
		sql.append("FROM MNU ");
		sql.append("WHERE ");
		sql.append("MENU_ID LIKE "+getString("MENU_ID")+" ");
		sql.append("AND APL_EDT < "+getString("SYSDATE")+" ");
		sql.append("AND FM_TYP "+((getString("FM_TYP1").equals(""))?" is null ":"=")+getString("FM_TYP1")+" ");
		sql.append("ORDER BY SCREEN_ID,MENU_ID ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}


	public void setMENU_TYP(String value){
		if(value==null) {
			paramsString.remove("MENU_TYP");
			return;
		}
		paramsString.put("MENU_TYP",value);
	}


	public void setBSNS_TYP(String value){
		if(value==null) {
			paramsString.remove("BSNS_TYP");
			return;
		}
		paramsString.put("BSNS_TYP",value);
	}


	public void setMENU_ID(String value){
		if(value==null) {
			paramsString.remove("MENU_ID");
			return;
		}
		paramsString.put("MENU_ID",value);
	}


	public void setSYSDATE(String value){
		if(value==null) {
			paramsString.remove("SYSDATE");
			return;
		}
		paramsString.put("SYSDATE",value);
	}


	public void setFM_TYP1(String value){
		if(value==null) {
			paramsString.remove("FM_TYP1");
			return;
		}
		paramsString.put("FM_TYP1",value);
	}


	public void setFM_TYP(String value){
		if(value==null) {
			paramsString.remove("FM_TYP");
			return;
		}
		paramsString.put("FM_TYP",value);
	}


}
